//format说明
// amd – 异步模块定义，用于像RequireJS这样的模块加载器
// cjs – CommonJS，适用于 Node 和 Browserify/Webpack
// es – 将软件包保存为ES模块文件
// iife – 一个自动执行的功能，适合作为<script>标签。（如果要为应用程序创建一个捆绑包，您可能想要使用它，因为它会使文件大小变小。）
// umd – 通用模块定义，以amd，cjs 和 iife 为一体
import del from "rollup-plugin-delete";
import terser from '@rollup/plugin-terser';
//删除之前的源映射文件，
del(['dist/*','building/*']);
//重新生成
console.log("start ...");
import pkg from './package.json' assert { type: 'json' };
const mode = process.env.NODE_ENV;
export default [
    {
        input: './src/index.js',
        output: [{
            'file': 'dist/matrix-gpu.js',
            'format': "es",
            'strict': true,
            'name':"matrix",
            "banner": '/* version: ' + pkg.version + ';time:'+Date()+' */',
            'sourcemap': mode === "prod" ? false : true,
            'plugins':[
                mode === "prod" ? terser(
                    {
                        compress:{
                            drop_console:true,
                            drop_debugger:true,
                        }
                    }
                ) : false,//压缩
            ],
        }],
        treeshake:true,
    }
];
